|
OpenStack Liberty : Configure Ceilometer#2
2015/12/29 |
|
Configure OpenStack Metering Service (Ceilometer).
This example shows to install Metering Services on the existing environment like follows.
For example, install and configure Metering Services on the Network Node.
|
+------------------+ | +------------------------+
| [ Control Node ] | | | [ Network Node ] |
| Keystone |10.0.0.30 | 10.0.0.50| DHCP,L3,L2 Agent |
| Glance |------------+------------| Metadata Agent |
| Nova API |eth0 | eth0| Ceilometer Services |
| Neutron Server | | | |
+------------------+ | +------------------------+
eth0|10.0.0.51
+--------------------+
| [ Compute Node ] |
| Nova Compute |
| L2 Agent |
| Ceilometer-Compute |
+--------------------+
|
|
Install and Configure Ceilometer on this section.
|
|
| [1] | Install MongoDB which Ceilometer needs for backend database. |
|
root@network:~# apt-get -y install mongodb-server mongodb python-pymongo
|
| [2] | Configure and Start MongoDB. |
|
root@network:~#
vi /etc/mongodb.conf # line 11: change bind_ip = 0.0.0.0
root@network:~#
initctl restart mongodb
# create a DataBase for Ceilometer (set any password for "password" section) root@network:~# mongo --host 10.0.0.50 --eval ' db = db.getSiblingDB("ceilometer"); db.addUser({user: "ceilometer", pwd: "password", roles: [ "readWrite", "dbAdmin" ]})'
MongoDB shell version: 2.4.9
connecting to: 10.0.0.50:27017/test
{
"user" : "ceilometer",
"pwd" : "c3f1480e5fb171fed77480ec8a9c1a7f",
"roles" : [
"readWrite",
"dbAdmin"
],
"_id" : ObjectId("568928cff5c8676f81afd9a3")
}
|
| [3] | Install Ceilometer services. |
|
root@network:~# apt-get -y install ceilometer-api ceilometer-collector ceilometer-agent-central ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier python-ceilometerclient
|
| [4] | Configure Ceilometer. |
|
root@network:~# mv /etc/ceilometer/ceilometer.conf /etc/ceilometer/ceilometer.conf.org
root@network:~#
vi /etc/ceilometer/ceilometer.conf # create new
[DEFAULT]
rpc_backend = rabbit auth_strategy = keystone
[api]
port = 8777 host = 0.0.0.0 # MongoDB connection info [database] connection = mongodb://ceilometer:password@10.0.0.50:27017/ceilometer # RabbitMQ connection info [oslo_messaging_rabbit] rabbit_host = 10.0.0.30 rabbit_port = 5672 rabbit_userid = openstack rabbit_password = password # Keystone auth info [keystone_authtoken] auth_uri = http://10.0.0.30:5000 auth_url = http://10.0.0.30:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = ceilometer password = servicepassword # Ceilometer auth info [service_credentials] os_auth_url = http://10.0.0.30:5000/v2.0 os_username = ceilometer os_tenant_name = service os_password = servicepassword os_endpoint_type = internalURL os_region_name = RegionOne chown ceilometer. /etc/ceilometer/ceilometer.conf root@network:~# chmod 644 /etc/ceilometer/ceilometer.conf root@network:~# for service in agent-central agent-notification api collector alarm-evaluator alarm-notifier; do
initctl restart ceilometer-$service done |